package com.ruoyi.system.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.system.entity.AbdulBaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 会员概览（存储会员统计周期内的汇总数据）对象 member_overview
 *
 * @author ruoyi
 * @date 2025-05-14
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class MemberOverview extends AbdulBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 会员概览记录唯一标识符 */
    private Long id;

    /** 会员总数（统计周期内所有会员的数量） */
    @Excel(name = "会员总数", readConverterExp = "统=计周期内所有会员的数量")
    private Long totalMembers;

    /** 新增会员数（统计周期内新增的会员数量） */
    @Excel(name = "新增会员数", readConverterExp = "统=计周期内新增的会员数量")
    private Long newMembers;

    /** 正常会员数（当前状态为"正常"的会员数量） */
    @Excel(name = "正常会员数")
    private Long activeMembers;

    /** 黄金会员8折人数（享受8折优惠的黄金会员数量） */
    @Excel(name = "黄金会员8折人数", readConverterExp = "享=受8折优惠的黄金会员数量")
    private Long goldMembersWithDiscount;

    /** 停用会员数（当前状态为"停用"的会员数量） */
    @Excel(name = "停用会员数")
    private Long inactiveMembers;

    /** 普通会员数（非黄金会员的普通会员数量） */
    @Excel(name = "普通会员数", readConverterExp = "非=黄金会员的普通会员数量")
    private Long regularMembers;

    /** 自助创建人数（用户通过自助渠道注册的会员数量） */
    @Excel(name = "自助创建人数", readConverterExp = "用=户通过自助渠道注册的会员数量")
    private Long selfServiceCreated;

    /** 后台创建人数（管理员通过后台系统创建的会员数量） */
    @Excel(name = "后台创建人数", readConverterExp = "管=理员通过后台系统创建的会员数量")
    private Long backendCreated;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;
}
